﻿Public Class Mis_Horarios
    Dim nombre As String
    Dim acceso As New acceso_a_datos
    Dim primera_busqueda As Boolean = False
    Dim carga_combo As New combo

    Public Property _nombre
        Get
            Return nombre
        End Get
        Set(ByVal value)
            nombre = value
        End Set
    End Property

    Private Sub btn_volver_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_volver.Click
        Me.Close()
        frm_Principal.Focus()
    End Sub

    Private Sub Mis_Horarios_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.carga_grilla()

        'Me.carga_combo.cadena_conexion = acceso._CadenaConexion
        'Me.acceso._tabla = "Turno"
        'Me.carga_combo.cargar(Me.cmb_turno, Me.acceso.leo_tabla("cod_Turno", "nombre"))

    End Sub

    'BOTON BUSCAR
    Private Sub btn_buscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_buscar.Click
        btn_ocultar.Visible = True
        mask_fecha.Visible = True
        'cmb_turno.Visible = True
        lbl_fecha.Visible = True
        'lbl_Turno.Visible = True

        If Me.primera_busqueda = False Then
            Me.btn_buscar.Enabled = True

            Me.mask_fecha.Enabled = True

            Me.mask_fecha.Focus()
            Me.primera_busqueda = True
            Me.carga_grilla()

        Else
            'Dim aux = Me.mask_fecha.Text.Length

            If Me.mask_fecha.Text = "  /  /" Or Me.mask_fecha.Text.Length < 10 Then 'And cmb_turno.SelectedIndex = -1 Then
                MsgBox("Debe completar la fecha para realizar la búsqueda", vbExclamation, "Atención")
                Me.mask_fecha.Focus()
                Exit Sub
            End If
            'POR FECHA
            If Me.mask_fecha.Text <> "  /  /" Then ' And cmb_turno.SelectedIndex = -1 Then
                Me.buscar_por_fecha()
                Me.primera_busqueda = False
                Exit Sub
            End If
            'POR Turno
            'If Me.mask_fecha.Text = "  /  /" And cmb_turno.SelectedIndex <> -1 Then
            '    Me.buscar_por_turno()
            '    Me.primera_busqueda = False
            '    Exit Sub
            'End If
            Me.primera_busqueda = False
        End If
    End Sub

    'BOTON OCULTAR
    Private Sub btn_ocultar_grilla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_ocultar.Click
        btn_ocultar.Visible = False
        mask_fecha.Visible = False
        'cmb_turno.Visible = False
        lbl_fecha.Visible = False
        'lbl_Turno.Visible = False
        Me.primera_busqueda = False
        Me.carga_grilla()
    End Sub

    'CARGAR GRILLA
    Private Sub carga_grilla()
        Dim tabla As New Data.DataTable
        Dim txt_sql As String = ""
        Dim c As Integer = 0
        Dim usuario As String = nombre

        txt_sql = "SELECT H.fecha, H.horario_Ingreso, ISNULL (H.horario_Egreso, '00:00:00') as 'horario_Egreso'"
        txt_sql += "FROM Horario H INNER JOIN Empleado E ON H.numero_Doc = E.numero_Doc WHERE E.nombre_Usuario ='" & usuario & "'"


        'obtengo los datos de la consulta
        tabla = Me.acceso._consulta(txt_sql)

        Me.grilla_Horarios.Rows.Clear()

        'If tabla.Rows("horario_Egreso").ToString = 0 then
        For c = 0 To tabla.Rows.Count - 1
            Me.grilla_Horarios.Rows.Add(FormatDateTime(tabla.Rows(c)("fecha"), DateFormat.ShortDate), FormatDateTime(tabla.Rows(c)("horario_Ingreso"), DateFormat.ShortTime), FormatDateTime(tabla.Rows(c)("horario_Egreso"), DateFormat.ShortTime))
        Next
    End Sub

    'BUSCAR POR FECHA
    Private Sub buscar_por_fecha()
        Dim tabla As New Data.DataTable
        Dim consulta As String = ""
        Dim c As Integer
        Dim usuario As String = nombre

        consulta = "SELECT H.fecha, H.horario_Ingreso, ISNULL (H.horario_Egreso, '00:00:00') as 'horario_Egreso'"
        consulta += "FROM Horario H INNER JOIN Empleado E ON H.numero_Doc = E.numero_Doc "
        consulta += "WHERE H.fecha='" & Me.mask_fecha.Text & "' and E.nombre_Usuario ='" & usuario & "'"

        tabla = acceso._consulta(consulta)

        Me.grilla_Horarios.Rows.Clear()

        If tabla.Rows.Count <> 0 Then
            For c = 0 To tabla.Rows.Count - 1
                Me.grilla_Horarios.Rows.Add(FormatDateTime(tabla.Rows(c)("fecha"), DateFormat.ShortDate), FormatDateTime(tabla.Rows(c)("horario_Ingreso"), DateFormat.ShortTime), FormatDateTime(tabla.Rows(c)("horario_Egreso"), DateFormat.ShortTime))
            Next

            Me.mask_fecha.Text = ""
            Me.mask_fecha.Focus()
            Exit Sub
        Else
            MsgBox("No se encontro ningun Horario con la fecha especificada", vbExclamation, "Importante")
            Me.mask_fecha.Text = ""
            Me.mask_fecha.Focus()
            Me.carga_grilla()
        End If
    End Sub

    'BUSCAR POR TURNO
    'Private Sub buscar_por_turno()
    '    Dim tabla As New Data.DataTable
    '    Dim consulta As String = ""
    '    Dim c As Integer

    '    consulta = "SELECT H.fecha, H.horario_Ingreso, ISNULL (H.horario_Egreso, '00:00:00') as 'horario_Egreso'"
    '    consulta += "FROM Horario H "
    '    consulta += "WHERE Turno.hora_Hasta LIKE " & Me.cmb_turno.SelectedValue

    '    tabla = acceso._consulta(consulta)

    '    Me.grilla_Horarios.Rows.Clear()

    '    If tabla.Rows.Count <> 0 Then
    '        For c = 0 To tabla.Rows.Count - 1
    '            Me.grilla_Horarios.Rows.Add(FormatDateTime(tabla.Rows(c)("fecha"), DateFormat.ShortDate), FormatDateTime(tabla.Rows(c)("horario_Ingreso"), DateFormat.ShortTime), FormatDateTime(tabla.Rows(c)("horario_Egreso"), DateFormat.ShortTime))
    '        Next

    '        Me.mask_fecha.Text = ""
    '        Me.mask_fecha.Focus()
    '        Exit Sub
    '    Else
    '        MsgBox("No se encontro ningun Horario con la fecha especificada", vbExclamation, "Importante")
    '        Me.mask_fecha.Text = ""
    '        Me.mask_fecha.Focus()
    '        Me.carga_grilla()
    '    End If
    'End Sub


    Private Sub Mis_Horarios_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
        Dispose()
    End Sub
End Class